DTS Selection Modes

You can set the selection mode in the step Maintain technical settings. Changing the selection mode is possible only for tables with an assigned business object for filtering (preselection) or for a table set for NZD processing. The selection mode impacts the generated program. If you change the selection mode after the program has been generated, you must execute the program generation step for the read tasks again.

WARNING Changing this parameter might lead to worse performance. Therefore, to avoid unwanted impacts, only make such changes if you have extensive DTS and SAP knowledge.

The following options are available:

  • Automatic mode: Is enabled by default and it chooses the most optimal selection mode. The table below explains what mode is selected when.

  • Join cursor: Executes a SELECT with JOIN on the business object table or on the trigger shadow table in case of trigger-based delta processing. You can also use this mode for cases that require a JOIN between multiple tables (e.g. in BW SID tables with the cube tables). You can edit these JOINS in the step DTS transfer structure editor.

  • Lookup cursor: Executes a SELECT with lookup on the relevant preselection tables.

  • FOR ALL ENTRIES cursor: Executes a SELECT with an open cursor with the FOR ALL ENTRIES ABAP statement on the relevant preselection or delta collection tables.

  • Cursor with generated WHERE condition: The values from the DTS business object table are generated into the select WHERE condition. This is supported for business objects with fewer than 100 entries in the business object table. This option is never used in automatic mode. Only use this option if you have extensive DTS and SAP knowledge.

The tables below describe how automatic mode makes the choice of selection mode and explain the compatibility of the various selection modes. To make the tables clearer, they are split into NZD processing and normal processing.

NOTE The DTS engine does not support NZD processing and preselection. In such cases, use the Transformation Cockpit. Similarly, the pool tables cannot be included in the NZD processing.
Automatic mode selection
Table category Read tasks generation parameters Selection mode
Task type Preselection Other conditions
Transparent table (incl. physical cluster) Delta read No The table does not contain LOB fields (rawstring, string, lchar and lraw) JOIN cursor
Delta read No The table contains LOB fields (rawstring, string, lchar and lraw) FOR ALL ENTRIES cursor
Read One assignment or more with the same input group > 0   JOIN cursor
Read At least two assignments with different input groups or all assignments with the input group 0   Lookup cursor
  Cluster table Delta read No   FOR ALL ENTRIES cursor
Read Single assignment when business object fields are assigned to the table keys in order from the 1st field, e.g. the BSEG cluster must be preselected by the assignments that contain either the field BUKRS only, or BUKRS, BELNR and GJAHR must be covered by the assigned business object. The WHERE condition (if defined in the table pool or partitioning) contains only fields from the assigned business object FOR ALL ENTRIES cursor
Pool table Delta read No   Not supported!
Read Yes   Lookup cursor
All tables Delta read Yes   Not supported!
Read No   Full read

 

Selection mode compatibility for preselection without NZD
Supported selection mode Table type Preselection
JOIN cursor Transparent table One assignment or more with the same input group > 0
Lookup cursor

Transparent table

Cluster table

Pool table

No restriction – compatible with any assignment.
Cursor with generated WHERE condition

Transparent table

Cluster table

Pool table

At least one assignment of all kinds when the sum of entries in business object tables < 100
FOR ALL ENTRIES cursor

Transparent table

Cluster table

Single assignment when business object fields are assigned to the table keys from the left
Full read

Transparent table

Cluster table

Pool table

None

 

Selection mode compatibility for NZD processing
Supported selection mode Table type
JOIN cursor Transparent table if it does not contain LOB field (rawstring, string, lchar and lraw)
FOR ALL ENTRIES cursor Transparent table if it contains a LOB field (rawstring, string, lchar and lraw) or cluster table